﻿
namespace Reminder
{
    public interface IBuild
    {
        Reminder Build(bool throwExceptionIfNotValid = false);
    }
    public interface IDurationSeconds : IBuild
    {
        IBuild AddSeconds(int seconds);
    }

    public interface IDurationMinutes
    {
        IDurationSeconds AddMinutes(int minutes);
    }

    public interface IDurationMinutesSeconds : IDurationMinutes, IDurationSeconds { }

    public interface IDurationHours
    {
        IDurationMinutesSeconds AddHours(int hours);
    }

    public interface IDurationHoursMinutesSeconds : IDurationHours, IDurationMinutesSeconds { }

    public interface IDurationDays
    {
        IDurationHoursMinutesSeconds AddDays(int days);
    }

    public interface IDurationDaysTime : IDurationDays, IDurationHoursMinutesSeconds { }

    public interface IDurationWeeks
    {
        IDurationDaysTime AddWeeks(int weeks);
    }

    public interface IDuration : IDurationWeeks, IDurationDaysTime { }
}
